package cn.lanjh.oss;

import cn.lanjh.common.utils.SpringUtils;
import cn.lanjh.oss.CloudConstant.CloudService;


/**
 * 文件上传Factory
 */
public final class OSSFactory {

    static CloudStoragePropies cloudStoragePropies= SpringUtils.getBean("cloudStoragePropies");

    public static CloudStorageService build() {
        // 获取云存储配置信息
        CloudStorageConfig config = cloudStoragePropies.getCloudStorageConfig();
        if (config.getType() == CloudService.QINIU.getValue()) {
            return new QiniuCloudStorageService(config);
        } else if (config.getType() == CloudService.ALIYUN.getValue()) {
            return new AliyunCloudStorageService(config);
        } else if (config.getType() == CloudService.QCLOUD.getValue()) {
            return new QcloudCloudStorageService(config);
        }else if (config.getType() == CloudService.MINIO.getValue()) {
            return new QcloudCloudStorageService(config);
        }
        return null;
    }

}
